/**
 * @author Philipp Hannemann & Christoph Lehnert
 */

package org.bonn.ooka.model;

public class ComponentPointer<T> {
	private T m_index = null;
	
	private String m_name;
	private int m_id;
	private String m_path; //neu UE3 CR1
	private EState m_state = EState.UNKNOWN;
	
	public ComponentPointer(T index, String path, String name, int id) {
		this.m_index = index;
		this.m_path = path; 
		this.m_name = name;
		this.m_id = id;
	}
	
	public T index() {
		return this.m_index;
	}
	
	public void state(EState newState) {
		this.m_state = newState;
	}
	
	public EState state() {
		return this.m_state;
	}
	
	public String name() {
		return this.m_name;
	}

	public String getPath() {
		return this.m_path;
	}
	
	public int id() {
		return this.m_id;
	}

	public String toString() {
		return "(" + this.m_id + ") -> " + this.m_name + "[" + this.m_state + "]";
	}
}